Key code for a conference operation

ABSTRACT

Methods, products, apparatuses, and systems may facilitate a conference operation. The conference operation may include conference chaining, conference switching, conference modification, conference announcement, and so on. A collection of authentication data for a plurality of distinct conferences may be performed to chain the conferences. Switching among the distinct conference may be performed in response to a switch key code. The switch key code may include a general key code applicable to each of the conferences and/or a specific key code application to a specific conference.

BACKGROUND

Embodiments of the present invention generally relate to key codes forconference operations. More particularly, embodiments relate toperforming a collection of authentication data for a plurality ofdistinct conferences to chain the conferences, and/or performing aswitch among the distinct conferences in response to a switch key code.

A conference attendee may be required to dial a conference numbermultiple times and enter a corresponding access code for each conferencewhich the conference attendee wishes to join. In addition, a singlecommand (e.g., hold) may be unsuitable for switching among more than twoconferences, such as audio conferences. Accordingly, the conferenceattendee may experience delay and/or inconvenience when accessing orswitching conferences.

BRIEF SUMMARY

Embodiments may include a method involving performing a collection ofauthentication data for a plurality of distinct conferences to chain theconferences. The method may include performing a switch among thedistinct conferences in response to a switch key code. In addition, theswitch key code may include one or more of a general key code applicableto each of the conferences and a specific key code applicable to aspecific conference.

Embodiments may include a method involving starting to perform acollection of authentication data for a plurality of distinctconferences to chain the conferences in response to an initiation keycode, wherein the authentication data includes an access code. Themethod may include performing an identification of one or more of abuffer key code and a mapping key code interspersed with theauthentication data, wherein the buffer key code includes a general keysequence demarcating the authentication data, and wherein the mappingkey code includes a key sequence unique for the authentication data. Inaddition, the method may include ending the collection in response to atermination key code. The method may also include performing a switchamong the distinct conferences in response to a switch key code, whereinthe switch key code includes one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference.

The method may include one or more of queuing each access code,utilizing one of the queued access codes in response to the general keycode to provide access to one of the conferences, and mapping the keysequence unique for the authentication data with the specific key codeto provide access to the specific conference. The method may includeperforming one or more of an announcement including informationcorresponding to the plurality of distinct conferences, a modificationin response to a modification key code, and a link between the switchkey code and a physical hotkey of a conference device. In addition, themethod may include prompting for one or more the initiation key code,the authentication data, the buffer key code, the mapping key code, andthe termination key code.

Embodiments may include a computer program product having a computerreadable storage medium and computer usable code stored on the computerreadable storage medium. If executed by a processor, the computer usablecode may cause a computer to perform a collection of authentication datafor a plurality of distinct conferences to chain the conferences. Thecomputer usable code, if executed, may also cause a computer to performa switch among the distinct conferences in response to a switch keycode. The switch key code may include one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference.

Embodiments may include a computer program product having a computerreadable storage medium and computer usable code stored on the computerreadable storage medium. If executed by a processor, the computer usablecode may cause a computer to start to perform a collection ofauthentication data for a plurality of distinct conferences to chain theconferences in response to an initiation key code, wherein theauthentication data is to include an access code. The computer usablecode, if executed, may also cause a computer to perform anidentification of one or more of a buffer key code and a mapping keycode interspersed with the authentication data, wherein the buffer keycode is to include a general key sequence to demarcate theauthentication data, and wherein the mapping key code is to include akey sequence unique for the authentication data. The computer usablecode, if executed, may also cause a computer to end the collection inresponse to a termination key code. The computer usable code, ifexecuted, may also cause a computer to perform a switch among thedistinct conferences in response to a switch key code, wherein theswitch key code is to include one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference.

The computer usable code, if executed, may also cause a computer toperform one or more of queuing each access code, utilizing one of thequeued access codes in response to the general key code to provideaccess to one of the conferences, and mapping the key sequence uniquefor the authentication data with the specific key code to provide accessto the specific conference. The computer usable code, if executed, mayalso cause a computer to perform one or more of an announcementincluding information corresponding to the plurality of distinctconferences, a modification in response to a modification key code, anda link between the switch key code and a physical hotkey of a conferencedevice. The computer usable code, if executed, may also cause a computerto prompt for one or more of the initiation key code, the authenticationdata, the buffer key code, the mapping key code, and the termination keycode.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The various advantages of the embodiments of the present invention willbecome apparent to one skilled in the art by reading the followingspecification and appended claims, and by referencing the followingdrawings, in which:

FIG. 1 is a block diagram of an example of a scheme to chain a pluralityof conferences according to an embodiment;

FIG. 2 is a block diagram of an example of a scheme to switch among aplurality of conferences and/or to modify a chain of conferencesaccording to an embodiment;

FIGS. 3A to 3D are block diagrams of an example of a dialog includinginstructions to prompt for a key code according to an embodiment;

FIG. 4 is a block diagram of an example of an architecture includinglogic to facilitate conference operations according to an embodiment;

FIG. 5 is a flowchart of an example of a method to facilitate conferenceoperations according to an embodiment; and

FIG. 6 is a block diagram of an example of a computing device accordingto an embodiment.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

When a conference attendee wishes to attend more than one conference, itmay be valuable allow the attendee to dial a single conference numberand enter a corresponding access code for each conference which theattendee wishes to join. In addition, it may be valuable to provide arelatively simple mechanism to switch between two or more conferences,such as a key code. Moreover, it may be valuable to provide a single keycode which is suitable for switching among more than two audioconferences. It may be valuable for the key code to include a generalkey code applicable to each of the conferences, such as a single keycode (e.g., a general hotkey) which may be utilized to transfer from oneconference to a next succeeding conference in a chain of conferences,transfer to a conference spaced at a predetermined distance in the chainof conferences from a current conference, to cycle among conferences inthe chain of conferences, and so on, or combinations thereof. It mayalso be valuable for the key code to include a specific key codeapplicable to a specific conference in the chain of conferences, such asa single unique key code (e.g., a specific hotkey) which may be utilizedto switch from one conference to the specific conference in the chain ofconferences.

Referring now to FIG. 1, a scheme 10 is shown to chain a plurality ofconferences according to an embodiment. Each of the conferences mayinclude a variety of functionality, such as audio functionality, videofunctionality, text functionality (e.g., Short Message Service), instantmessage (IM) text functionality, and so on, or combinations thereof. Inaddition, each of the conferences may be hosted by a conference service11, which may include any entity (e.g., any apparatus) operable tofacilitate communication between two or more parties (e.g., attendees)participating in a conference. The client service 11 may providecommunication between the parties using any communication protocol. Inone example, the conference service 11 may provide communication usingH.323, Real Time Transfer Protocol (RTP), Session Initiation Protocol(SIP), Real Time Streaming Protocol (RTSP), Signaling System No. 7 (SS7,CCSS7, CCITT7, CCIS7, N7), and so on, or combinations thereof.Accordingly, the conference service 11 may host a teleconference, avideo conference, a web conference, a voice over internet protocol(VoIP) conference, and so on, or combinations thereof.

In the illustrated example, the conference service 11 includes aconference controller 12, such as a server, an application, a plug-in(e.g., via an application programming interface (API)), and so on, orcombinations thereof. It should be understood that the conferencecontroller 12 may include a conference controller user interface (e.g.,a command line interface, a graphical user interface (GUI), a hardwiredkeypad interface, etc.), which may be utilized to access one or moreconfigurable settings to facilitate a conference operation. The settingsmay include options for a communication protocol (e.g., RTP, etc.),switching conferences (e.g., switch key codes, etc.), chainingconferences (e.g., buffer key code, mapping key code, etc.), prompting(e.g., prompting for data, key codes, etc.), data collection (e.g.,authentication data, to queue, etc.), performing operations (e.g.,transfer operation, toggle operation, modification operation, etc.),making announcements (e.g., announcing conference title, conferencesubject, etc.), and so on, or combinations thereof.

The attendee may access the plurality of conferences via a userinterface 14. The user interface 14 may include any interface, such as acommand line interface, a graphical user interface (GUI), a hardwiredkeypad interface, and so on, or combinations thereof. It should beunderstood that the user interface 14 may include the same and/orsimilar functionality as the conference controller user interface,described above. The user interface 14 may include, for example, aconference device such as a teleconferencing device (e.g., a publicswitched telephone network (PSTN) telephone), a VoIP device (e.g., aVoIP telephone), a SIP device (e.g., a SIP telephone), a personalcomputer (e.g., a tablet, a notebook, etc.), a mobile device (e.g., asmart phone), a web terminal (e.g., a device including a web browser), avideo conferencing terminal (e.g., a device including a camera), anapplication, a plug-in (e.g., via an API), and so on, or combinationsthereof. The conference controller 12 may, in one example, perform alink between a physical hotkey of a conference device and any desiredkey code, described below.

The attendee may access the plurality of conferences via the userinterface 14. For example, the attendee may utilize the user interface14 to establish and/or maintain a connection with the conference service11 over a communication channel such as a transmission control protocol(TCP) channel, a user datagram protocol (UDP) channel, a PSTN channel,and so on, or combinations thereof. In one example, the attendee mayutilize the user interface 14 to access the plurality of conferences bydialing a single conference number (e.g., a single 800 number) toestablish a connection with the conference service 11, and by entering acorresponding access code (e.g., a pin number, a bridge number, etc.)for each conference which the attendee wishes to join. In theillustrated example, the conference service 11 and the interface 14establish and/or maintain a connection using communication data 16,which may include a TCP SYNC, a TCP ACK, an UDP ACK, a dual-tonemulti-frequency (DTMF) number, and so on, or combinations thereof.

The conference controller 12 issues a prompt 18 to the user interface 14when the connection is established in the illustrated example. Asdescribed below, a prompt may include a dialog having instructions toprompt for a key code. It should be understood that a prompt, such asthe prompt 18, is optional and that a key code may be input from theuser interface 14 independently of any prompt. In the illustratedexample, the prompt 18 causes the user interface 14 to return aninitiation key code 20, which may include a key sequence of one or morekeys (e.g., *1, *2, *3, *4, etc.). In one example, the attendee mayenter the initiation key code 20 by inputting the key sequence of thekey code 20 at the user interface 14. The initiation key code 20 maycause the conference controller 12 to start a collection ofauthentication data for the plurality of distinct conferences to chainthe conferences. The authentication data may include, for example, anaccess code such as a pin number, a bridge number, a password, and soon, or combinations thereof. In the illustrated example, the initiationkey code 20 causes the conference controller 12 to issue a prompt 22,which causes the user interface 14 to return data 24.

The data 24 may include authentication data for the plurality ofdistinct conferences interspersed with a buffer key code and/or amapping key code. The conference controller 12 may perform anidentification of authentication data, the buffer key code, and/or themapping key code from the data 24. In one example, the conferencecontroller 12 may identify preset authentication data in the data 24,consistencies and/or inconsistencies in the data 24 with respect to aconfiguration of authentication data, a preset buffer key code, a presetmapping key code, and so on, or combinations thereof. For example, thebuffer key code (e.g., *) may be inconsistent with respect to theconfiguration (e.g., number, type, etc.) of authentication data (e.g.,an access code of four numbers 1234), preset (e.g., preset as *), and soon, or combinations thereof. The buffer key code may include a generalkey sequence to demarcate the authentication data, for example tofacilitate an identification of the beginning and/or the end of theauthentication data. Accordingly, the key sequence of the buffer keycode may be considered general since the key sequence may not be uniquefor specific authentication data. In one example, the buffer key codemay reside in between each input of authentication data (e.g.,1234*5678) to demarcate the authentication data.

The mapping key code may also be inconsistent (e.g., number, type, etc.)with respect to the configuration of authentication data (e.g., anaccess code 8765). The mapping key code may include a key sequence(e.g., *1*) unique for authentication data (e.g., the access code 8765).Accordingly, the key sequence of the mapping key code may be consideredspecific since the key sequence may be unique for specificauthentication data. In one example, the mapping key code may be preset(e.g., preset as *1* for a first conference associated with the accesscode 8765, preset as *2* for a second conference associated with anaccess code 4321, etc.), dynamically set (e.g., set in real-time usingany desired key sequence inconsistent with authentication data), and soon, or combinations thereof. The conference controller 12 may also, forexample, map the key sequence unique for the authentication data (e.g.,*1*) with a specific key code, which may include a key sequence at leastpartially overlapping (e.g., *1, *1*) with the key sequence of themapping key code (e.g., *1*). As described below, the specific key codemay be used as a shortcut key to access a specific conference withoutdisengaging the conference service.

In the illustrated example, the prompt 22 also causes the user interface14 to return a termination key code 26, which may include a key sequenceof one or more keys (e.g., #). In one example, the attendee may enterthe termination key code 26 by inputting the key sequence of thetermination key code 26 at the user interface 14. The termination keycode 26 may cause the conference controller 12 to end the collection ofauthentication data from the data 24. As a result, the plurality ofdistinct conferences whose authentication data is collected may bechained in a chain of conferences. In addition, the authentication datamay be queued. For example, the access code 1234 may be queued when thebuffer key code * is input and/or encountered during the collection ofthe authentication data, and may remain queued with the access code 5678when the collection of the authentication data has ended.

In the illustrated example, the conference service 11 exchanges currentconference data 28 with the interface 14 when the conference controller12 causes the attendee to be placed in a conference (a currentconference). The current conference data 28 may include any data for thecurrent conference, such as audio data, video data, text data, and soon, or combinations thereof. At least a part of the conference data 28may be filtered at any time, for example by muting audio and/or blockingvideo at any time using the conference controller 12, the user interface14, and so on, or combinations thereof. The current conference may beautomatically and/or manually selected based on any criteria, such asthe authentication data first input and/or encountered, authenticationdata first enqueued, a user preference (e.g., rating information, thumbsup, etc.) for a conference, a conference start time, a conference endtime, a user selection, and so on, or combinations thereof. In oneexample, authentication data (e.g., the access code 1234) enqueued firstmay be dequeued and utilized when the collection has ended toautomatically place the attendee in the current conference while otherauthentication data (e.g., the access code 5678) collected may remainqueued.

FIG. 2 shows a scheme 210 to switch among the plurality of conferencesand/or to modify a chain of conferences according to an embodiment. Itshould be understood that elements identified in the scheme 210 of FIG.2 having similar reference numerals as those already discussed in thescheme 10 of FIG. 1 are to be understood to incorporate similarfunctionality. Accordingly, in one example, the attendee may be placedin a current conference (e.g., the conference associated with the accesscode 1234) and a conference service 211 may exchange current conferencedata 228 with a user interface 214. In the illustrated example, the userinterface 214 issues a switch key code 230 to the conference controller212. In one example, the attendee may enter the switch key code 230 byinputting the key sequence of the switch key code 230 at the userinterface 214. Moreover, the conference controller 212 may perform alink between the switch key code 230 and a physical hotkey on a keypadof a conference device such as a VoIP device, for example to perform aswitch operation when the physical hotkey is utilized.

The switch key code 230 may include one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference. In one example, the switch key code 230 mayinclude a general key sequence of one or more keys (e.g., a generalhotkey *99) applicable to each of the conferences. Accordingly, a singlegeneral key sequence (e.g., *99) may cause the conference controller 212to perform a conference operation, such as switching from the currentconference (e.g., the conference associated with the access code 1234)to another conference (e.g., the conference associated with the queuedconference code 5678). The conference operation (e.g., a switchoperation) may include a transfer from the current conference to a nextsucceeding conference in the chain of conferences when the currentconference has ended, a transfer to one other conference spaced at apredetermined distance in the chain of conferences from the currentconference when the current conference has ended (e.g., a forward moveby one conference, a backward move by two conferences, etc.), a cycleamong conferences in the chain of conferences at any time (e.g., forwardmove at any time, backward move at any time, etc.), and so on, orcombinations thereof.

In addition, a plurality of general key sequences may be employed tocause a plurality of conference operations. In one example, a generalkey code *98 may be used in a switch operation to transfer access fromthe current conference to a next succeeding conference in the chain ofconferences when the current conference has ended, while a general keycode *97 may be used in a switch operation to cycle among conferences inthe chain of conferences at any time. Accordingly, the conferenceoperation may be implemented using the general key code withoutdisengaging the conference service 211, without disengaging theconference controller 212, without requiring redialing a conferencenumber, without reentering authentication data, and so on, orcombinations thereof.

In another example, the switch key code 230 may include a specific keycode applicable to a specific conference in the chain of conferences.For example, the switch key code 230 may include a single unique keysequence (e.g., a specific hotkey *2) which may be utilized in a switchoperation to toggle from a current conference (e.g., a conferenceassociated with the access code 4321) to a specific other conference inthe chain of conferences (e.g., a conference associated with the accesscode 8765). The switch key code 230 may also include a single unique keysequence (e.g., a specific hotkey *1) which may be utilized in a switchoperation to toggle from a current conference (e.g., the conferenceassociated with the access code 8765) to another specific conference inthe chain of conferences (e.g., the conference associated with theaccess code 4321). In a further example, the single unique key sequence(e.g., the specific hotkey *1) may be utilized in a switch operation totoggle from a current conference (e.g., the conference associated withthe access code 5678) to a specific conference in the chain ofconferences (e.g., the conference associated with the access code 4321).

To minimize confusion, the unique key sequence of the switch key code230 may at least partially overlap with the key sequence of the mappingkey code. For example, the unique key sequence *1 may be utilized toprovide access to the specific conference associated with the accesscode 4321, which may partially overlap with the mapping key code *1*,while the unique key sequence *2 may be utilized to provide access tothe specific conference associated with the access code 8765, which maypartially overlap with the mapping key code *2*. Accordingly, theconference operation may be implemented using the specific key codewithout disengaging the conference service 211, without disengaging theconference controller 212, without redialing a conference number,without reentering authentication data, and so on, or combinationsthereof. In the illustrated example, the conference controller 212identifies the switch key code 230 and/or performs one or more switchoperations to provide access to one or more other conferences in thechain of conferences.

The conference service 211 exchanges conference data 232 with the userinterface 214 for the newly accessed conference, which may include audiodata, video data, text data, and so on, or combinations thereof. Atleast a part of the conference data 232 may be filtered at any time, forexample by muting audio and/or blocking video at any time using theconference controller 212, the user interface 214, and so on, orcombinations thereof. Accordingly, the newly accessed conference may betreated as the current conference by the conference controller 212 forthe purpose of handling a subsequent conference operation.

The conference controller 212 may make/perform an announcement includinginformation corresponding to the plurality of distinct conferences. Inone example, the announcement may be performed at any time, such as whenthe attendee is placed into the current conference, when the conferencecontroller 212 performs a conference operation (e.g., a switchoperation), in response to a key code from the user interface 214 (e.g.,an announcement key code which may be entered by the attendee, notshown), and so on, or combinations thereof. The information may includeany data to identify the current conference, such as the conferencetitle, the conference subject, the conference agenda, the location ofthe conference in the agenda, and so on, or combinations thereof.Participant information may also be included, such as the identity ofarriving attendees, the identity of the conference chair, the identityof an organization sponsoring the conference, and so on, or combinationsthereof.

The information in the announcement may include any data type, such asaudio data, video data, text data, and so on, or combinations thereof.At least a part of the information may be filtered at any time, forexample by muting audio and/or blocking text at any time using theconference controller 212, the user interface 214, and so on, orcombinations thereof. Accordingly, the attendee may become aware of,and/or be able to confirm, the identity of current conference todetermine if the attendee wishes to participate in the currentconference, to remain in the current conference, and so on, orcombinations thereof. In the illustrated example, the conferencecontroller 212 issues conference information 234 to the user interface214, which includes one or more of the title of the conference and thesubject of the current conference, when the attendee is placed in thecurrent conference as a result of the switch operation by the conferencecontroller 212.

The conference controller 212 may also perform a modification to thechain of conferences in response to a modification key code 236. In theillustrated example, the user interface 214 issues the modification keycode 236 to the conference controller 212, which may be entered by theattendee by inputting the key sequence of the modification key code 236at the user interface 214. The modification key code 236 may be issuedat any time, such as during the collection of the authentication data,after the collection of the authentication data, and so on, orcombinations thereof. The modification key code 236 may cause theconference controller 212 to add a conference to the chain ofconferences, to delete a conference in the chain of conferences, toreorder the conferences (e.g., each of the conferences, a subset, etc.)in the chain of conferences, and so on, or combinations thereof.

In one example, the conference controller 212 may prompt for datacorresponding to a modifying conference (e.g., a conference to be added,deleted, reordered, etc.) to perform the modification, may receive thedata corresponding to the modifying conference automatically, and so on,or combinations thereof. The conference controller 212 may utilize asequence number and/or a specific key code of the modifying conferenceto identify a conference to add, to delete, to reorder, and so on, orcombinations thereof. The conference controller 212 may delete and/orreorder the current conference (e.g., the conference in which theattendee is placed) automatically when the modification key code 236 isinput and/or encountered. The conference controller 212 may utilizeauthentication data (e.g., new authentication data for a new conference,prior authentication data for a conference in the chain of conferences,etc.) to identify a conference to add, to delete, to reorder, and so on,or combinations thereof.

Turning now to FIGS. 3A to 3D, an example of a dialog 310 includinginstructions 338 to 349 is shown to prompt for a key code according toan embodiment. The information included in the dialog 310 may includeany data type, such as audio data, video data, text data, and so on, orcombinations thereof. In the illustrated example of FIG. 3A, the dialog310 includes the instruction 338, which prompts for an access code toimmediately place the attendee in a conference and/or an initiation keycode *1 to chain a plurality of distinct conferences. The instruction339 prompts for authentication data (e.g., a pin number, a bridgenumber, etc.) interspersed with a buffer key code *. The instruction 339also prompts for a termination key code #. In one example, the attendeemay enter the initiation key code *1, the authentication data, thebuffer key code *, and/or the termination key code # at a userinterface, such as teleconferencing device. Accordingly, a collection ofthe authentication data for the plurality of distinct conferences may beperformed to chain the conferences. The instruction 340 may instruct theattendee for a general transfer operation, such as when the attendeewishes to transfer from a current conference to one other conferencewhen the current conference ends. In one example, a general key code *99may be utilized to switch to a next succeeding conference when thecurrent conference ends without the need to disconnect form theconference service.

In the illustrated example of FIG. 3B, the dialog 310 includes theinstruction 341, which prompts for an initiation key code *2. Theinstruction 342 prompts for authentication data (e.g., a pin number, abridge number, etc.) interspersed with the buffer key code *. Theinstruction 342 also prompts for a termination key code #. In oneexample, the attendee may enter the initiation key code *2, theauthentication data, the buffer key code *, and/or the termination keycode # at the user interface, such as the teleconferencing device.Accordingly, a collection of the authentication data for the pluralityof distinct conferences may be performed to chain the conferences. Theinstruction 343 may instruct the attendee for a toggle operation, suchas when the attendee wishes to toggle from a current conference toanother conference at any time. For example, the general toggleoperation may cycle among conferences which are spaced at predetermineddistance. In one example, a general key code *99 may be utilized to moveforward one conference in the chain of conferences at any time withoutthe need to disconnect form the conference service.

In the illustrated example of FIG. 3C, the dialog 310 includes theinstruction 344, which prompts for an initiation key code *3. Theinstruction 345 prompts for authentication data (e.g., a pin number, abridge number, etc.) interspersed with the buffer key code *. Theinstruction 345 also prompts for a termination key code #. In oneexample, the attendee may enter the initiation key code *3, theauthentication data, the buffer key code *, and/or the termination keycode # at the user interface, such as the teleconferencing device.Accordingly, a collection of the authentication data for the pluralityof distinct conferences may be performed to chain the conferences. Theinstruction 346 may prompt the attendee for a general transfer operationand/or a general toggle operation. In one example, a general key code*98 may be utilized to switch to a next succeeding conference when thecurrent conference ends without the need to disconnect form theconference service, while the general key code *97 may be utilized tomove forward one conference in the chain of conferences at any timewithout the need to disconnect form the conference service.

In the illustrated example of FIG. 3D, the dialog 310 includes theinstruction 347, which prompts for an initiation key code *4. Theinstruction 348 prompts for authentication data (e.g., a pin number, abridge number, etc.) interspersed with a mapping key code, such as *1*,*2*, etc., which may be preset (e.g., provided by the conferenceservice) and/or dynamically set (e.g., set in real-time by the attendee,identified, and stored by a conference controller). The instruction 348also prompts for a termination key code #. In one example, the attendeemay enter the initiation key code *4, the authentication data, themapping key codes *1*, *2*, etc., and/or the termination key code # atthe user interface, such as the teleconferencing device. Accordingly, acollection of the authentication data for the plurality of distinctconferences may be performed to chain the conferences. The instruction349 may instruct the attendee for a specific toggle operation, such aswhen the attendee wishes to transfer from a current conference toanother specific conference at any time.

In one example, a specific key code *1 may be utilized to switch to aspecific conference (e.g., the first conference) corresponding toauthentication data associated with the mapping key code *1*, a specifickey code *2 may be utilized to switch to a specific conference (e.g.,the second conference) corresponding to authentication data associatedwith the mapping key code *2*, and so on, or combinations thereof. Inaddition, when the attendee is placed on hold until the currentconference begins, information corresponding to the current conferencemay be announced to the attendee, such as the conference title, theconference subject, and so on, or combinations thereof.

Further instructions may be provided at any time and/or for anyconference operation. For example, an instruction may be provided foraccess to a general menu (e.g., a menu including each conferenceoperation), a specific menu (e.g., to determine the sequence number ofthe current conference, for to modify the chain of conferences at anytime), and so on, or combinations thereof. For example, an instructionmay appear between the instruction 348 and the instruction 349 to recite“Enter ******* to enter a general menu at any time. Enter ****** toaccess a modification menu at any time. Enter ***** to delete thecurrent conference at any time. Enter ****conference sequence number****to delete the conference located at the sequence position at any time.Enter ***access code, mapping key code*** to add a new conference at anytime. Enter ** conference sequence number** to shift the conferencelocated at the sequence position back one position in the chain ofconferences at any time.” It should be understood that any instructionmay be predetermined, modifiable, provided to the attendee over acommunication channel via audio, text, video, and so on, or combinationsthereof.

FIG. 4 shows a logic architecture 410 which may facilitate conferenceoperations according to an embodiment. In the illustrated example, logicarchitecture 410 may include conference service logic 450 to facilitatecommunication between two or more parties (e.g., attendees)participating in a conference, to perform a conference operation (e.g.,chaining, switching, modification, announcement, etc.), and so on, orcombinations thereof. The illustrated conference service logic 450includes conference controller logic 452.

In the illustrated example, the conference controller 452 includes keycode logic 454. The illustrated key code logic 454 includes initiationkey code logic 455, termination key code logic 456, buffer key codelogic 457, mapping key code logic 458, switch key code logic 459, andmodification key code logic 460 to identify an initiation key code, atermination key code, a buffer key code, a mapping key code, a switchkey code, and a modification key code, respectively. The illustrated keycode logic 454 also includes map key logic 461 to map a key sequenceunique for authentication data (e.g., a key sequence of a mapping keycode) with a specific key code (e.g., a key sequence of a switch keycode). The illustrated map key logic 461 may further map any key code(e.g., a switch key code) with a physical hotkey of a conference device,such as a SIP telephone.

The illustrated conference controller logic 452 includes prompt logic462. The illustrated prompt logic 462 may provide a dialog which mayinclude an instruction including any data type, such as audio data,video data, text data, and so on, or combinations thereof. In oneexample, the instruction may prompt for a key code, such as theinitiation key code, the termination key code, the buffer key code, themapping key code, the switch key code, the modification key code, and soon, or combinations thereof. The instruction may prompt for any otherkey code, such as an announcement key code (e.g., to provideannouncement information), a modification key code (e.g., to add aconference), a menu key code (e.g., to provide a general menu, aspecific menu, etc.), a mute key code (e.g., to mute audio/video), andso on, or combinations thereof. In the illustrated example, key codelogic 454 may recommend one more key codes to the prompt logic 462 to beused in the dialog. For example, the key code logic 454 may recommendthe initiation key code to be used by the prompt logic 462 to prompt forthe recommended initiation key code. The recommendation may be based onany criteria, such as available key codes, preferences, preset values,and so on, or combinations thereof.

The illustrated conference controller logic 452 includes collectionlogic 464. The illustrated collection logic 464 may identifyauthentication data, such as an access code. For example, the collectionlogic 464 may identify access codes which are consistent with theconfiguration of authentication data (e.g., a four digit number). Theillustrated collection logic 464 may also maintain a collection of theauthentication data for the plurality of distinct conferences to chainthe conferences. In one example, the collection logic 464 may queue theauthentication data. In addition, the key code logic 454 may identifyone or more key codes and notify the collection logic 464. For example,the initiation key code logic 455 may identify the initiation key codeand notify the collection logic 464, which may cause the collectionlogic 464 to start collecting the authentication data. The buffer keycode logic 457 may identify the buffer key code and notify to thecollection logic 464, which may facilitate identifying the start and/orthe end of the authentication data by the collection logic 464. Themapping key code logic 455 may identify the mapping key code, notify themap key logic 461 to map the mapping key code, and/or notify thecollection logic 464 which may facilitate identifying the start and/orthe end of the authentication data by the collection logic 464. Thetermination key code logic 456 may identify the termination key code andnotify the collection logic 464, which may cause the collection logic464 to end the collection of the authentication data.

The illustrated conference controller logic 452 includes operation logic466. The illustrated operation logic 466 includes transfer logic 467,which may perform a switch operation to transfer access from the currentconference to a next succeeding conference in the chain of conferenceswhen the current conference has ended, to transfer access to aconference spaced at a predetermined distance in the chain ofconferences from the current conference when the current conference hasended, and so on, or combinations thereof. The illustrated operationlogic 466 also includes toggle logic 468, which may perform a switchoperation to cycle among conferences in the chain of conferences at anytime. In one example, the toggle logic 468 may implement a generaltoggle operation, which may involve moving a predetermined distance inthe chain of conferences from the current conference (e.g., a forwardmove by one conference, a backward move by two conferences, etc.). Inanother example, the toggle logic 468 may implement a specific toggleoperation, which may involve moving from the current conference to aspecific conference in the chain of conferences.

The illustrated operation logic 466 also includes modification logic469, which may perform a modification operation for the chain ofconferences. In one example, the modification logic 469 may add aconference to the chain of conferences, delete a conference in the chainof conferences, reorder the conferences (e.g., each of the conferences,a subset, etc.) in the chain of conferences, and so on, or combinationsthereof. The modification logic 469 may utilize data corresponding to amodifying conference (e.g., a conference to be added) to perform themodification, for example by using a sequence number and/or a specifickey code for the modifying conference. The modification logic 469 maydelete and/or reorder the current conference automatically, for exampleon encountering the modification key code. The modification logic 469may utilize authentication data (e.g., new authentication data for a newconference, prior authentication data for a conference in the chain ofconferences, etc.) to identify a conference to add, to delete, toreorder, and so on, or combinations thereof.

In the illustrated example, the key code logic 454 may identify one ormore key codes and notify the operation logic 466. In one example, theswitch key code logic 459 may identify a switch key code including ageneric key code and notify the operation logic 466, which may cause thetransfer logic 467 to implement the generic transfer operation. Inanother example, the switch key code logic 459 may identify a switch keycode including a generic key code and notify the operation logic 466,which may cause the toggle logic 468 to implement the generic toggleoperation. The switch key code logic 459 may also identify a switch keycode including the specific key code and notify the operation logic 466,which may cause the toggle logic 468 to implement the specific toggleoperation. Moreover, the modification key code logic 460 may identify amodification key code and notify the operation logic 466, which maycause the modification logic 469 to implement the modification operation(e.g., add a conference, delete a conference, reorder a conference,etc.).

The illustrated conference controller logic 452 includes announcementlogic 470. The illustrated announcement logic 470 may perform anannouncement to provide information corresponding to the currentconference. In one example, the information may include the title of thecurrent conference, the subject of the current conference, and so on, orcombinations thereof. It should be understood that the conferencecontroller logic 452 may include any logic to identify, recommend,and/or perform a notification for any key code, such as an announcementkey code, a menu key code, and so on, or combinations thereof.Accordingly, for example, the key code logic 454 may identify anannouncement key code and notify the announcement logic 470, which maycause the announcement logic 470 to announce the informationcorresponding to the current conference.

The illustrated conference service 450 includes access logic 451 toprovide access to a conference in the chain of conferences. Theillustrated access logic 451 includes host logic 453 to host each of theconferences in the chain of conferences. In one example, the host logic453 may establish and/or maintain a connection with one or more userinterfaces. For example, a conference attendee may utilize a respectiveuser interface to establish and/or maintain a connection with the hostlogic 453 over a communication channel, such as a TCP channel, a UDPchannel, a PSTN channel, and so on, or combinations thereof. The accesslogic 451 may respond to data and/or a control signal from thecollection logic 464, the operation logic 466, and so on, orcombinations thereof. For example, the authentication data enqueuedfirst may be initially dequeued in a first-in-first-out (FIFO) manner tocause the access logic 451 to provide access to the conferenceassociated with the authentication data enqueued first. In anotherexample, the authentication data enqueued second may be utilized tocause the access logic 451 to provide access to the conferenceassociated with the authentication data enqueued second when theoperation logic 466 performs a switch operation via the toggle logic468.

FIG. 5 shows a method 510 to facilitate conference operations accordingto an embodiment. Illustrated processing block 572 provides for startingto perform a collection of authentication data for a plurality ofdistinct conferences to chain the conferences. In one example, theauthentication data may include an access code (e.g., a pin number, abridge number, etc.). The collection of the authentication data maystart in response to an initiation key code. Thus, the collection at theblock 572 may correspond to, for example, the collection ofauthentication data (e.g., FIG. 1 to FIG. 4) already discussed.Illustrated processing block 574 provides performing an identificationof one or more of a buffer key code and a mapping key code interspersedwith the authentication data. In one example, the buffer key code mayinclude a general key sequence demarcating the authentication data inthe collection. In another example, the mapping key code may include akey sequence unique for the authentication data. Thus, theidentification of the buffer key code and/or the mapping key code at theblock 574 may correspond to, for example, the identification (e.g., FIG.1 to FIG. 4) already discussed. The collection of the authenticationdata may end at block 576. For example, the collection may end inresponse to a termination key code. Thus, ending the collection at theblock 576 may correspond to, for example, ending the collection (e.g.,FIG. 1 to FIG. 4) already discussed.

Illustrated processing block 578 provides for performing a switch amongthe distinct conferences in response to a switch key code. In oneexample, the switch key code may include a general key code applicableto each of the conferences. In another example, the switch key code mayinclude a specific key code applicable to a specific conference. Thus,performing the switch among the distinct conferences at the block 578may correspond to, for example, the switch among the distinctconferences (e.g., FIG. 1 to FIG. 4) already discussed.

Illustrated processing block 580 provides for queuing authenticationdata, for example queuing each access code, and/or utilizing one of thequeued authentication data (e.g., one of the queued access codes) toprovide access to one of the conferences. In one example, one of thequeued access codes may be utilized in response to a general key code.Thus, queuing the authentication data and/or utilizing one of the queuedauthentication data at the block 580 may correspond to, for example, thequeuing and/or the utilization (e.g., FIG. 1 to FIG. 4) alreadydiscussed. Illustrated processing block 582 provides for mapping the keysequence unique for the authentication data with the specific key codeto provide access to the specific conference. Thus, the mapping at theblock 582 may correspond to, for example, the mapping (e.g., FIG. 1 toFIG. 4) already discussed.

Illustrated processing block 584 provides for performing one or more ofan announcement, a modification, and/or a link. In one example, theannouncement may include information corresponding to the plurality ofdistinct conferences such as a conference title and/or a conferencesubject. The modification may occur in response to a modification keycode. The modification may include one or more of an addition of aconference, a deletion of a conference, a reordering of a conference,and so on, or combinations thereof. The link may and be performedbetween a key code (e.g., the switch key code) and a physical hotkey ofa conference device, such as a VoIP phone. Thus, performing one or moreof the announcement, the modification, and the linking at the block 584may correspond to, for example, the announcement, the modification, andthe linking (e.g., FIG. 1 to FIG. 4) already discussed.

Illustrated processing block 586 provides for prompting for theauthentication data and/or one or more key codes. In one example, theone or more key codes may include an initiation key code, a buffer keycode, a mapping key code, a termination key code, a switch key code, anannouncement key code, a modification key code, a menu key code, and soon, or combinations thereof. Thus, prompting for the authentication dataand/or one or more of the key codes at the block 586 may correspond to,for example, prompting for the authentication data and/or one or more ofthe key codes (e.g., FIG. 1 to FIG. 4) already discussed.

FIG. 6 shows a computing device 688 having a processor 690, mass storage692 (e.g., read only memory/ROM, optical disk, flash memory), a networkinterface 694, and system memory 696 (e.g., random access memory/RAM).In the illustrated example, the processor 690 is configured to executelogic 698, wherein the logic 698 may implement one or more aspects ofthe schemes 10 and/or 210 (FIG. 1 to FIG. 2), the dialog 310 (FIGS. 3Ato 3D), the architecture 410 (FIG. 4), and/or the method 510 (FIG. 5),already discussed. Thus, the logic 698 may facilitate a conferenceoperation, such as conference chaining, conference switching, conferencemodification, conference announcement, and so on, or combinationsthereof. The logic 698 may also be implemented as a software applicationthat is distributed among many computers (e.g., local or remote). Thus,while a single computer could provide the functionality describedherein, systems implementing these features can use many interconnectedcomputers (e.g., for scalability as well as modular implementation).

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions. In addition, theterms “first”, “second”, etc. may be used herein only to facilitatediscussion, and carry no particular temporal or chronologicalsignificance unless otherwise indicated.

Those skilled in the art will appreciate from the foregoing descriptionthat the broad techniques of the embodiments of the present inventioncan be implemented in a variety of forms. Therefore, while theembodiments of this invention have been described in connection withparticular examples thereof, the true scope of the embodiments of theinvention should not be so limited since other modifications will becomeapparent to the skilled practitioner upon a study of the drawings,specification, and following claims.

We claim:
 1. A computer program product comprising: a non-transitorycomputer readable storage medium; and computer usable code stored on thenon-transitory computer readable storage medium, where, if executed by aprocessor, the computer usable code causes a computer to: start toperform a collection of authentication data for a plurality of distinctconferences to chain the conferences in response to an initiation keycode, wherein the authentication data is to include an access code;perform an identification of one or more of a buffer key code and amapping key code interspersed with the authentication data, wherein thebuffer key code is to include a general key sequence to demarcate theauthentication data, and wherein the mapping key code is to include akey sequence unique for the authentication data; end the collection inresponse to a termination key code; and perform a switch among thedistinct conferences in response to a switch key code, wherein theswitch key code is to include one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference.
 2. The computer program product of claim 1,wherein the computer usable code, if executed, further causes a computerto perform one or more of queuing each access code, utilizing one of thequeued access codes in response to the general key code to provideaccess to one of the conferences, and mapping the key sequence uniquefor the authentication data with the specific key code to provide accessto the specific conference.
 3. The computer program product of claim 1,wherein the computer usable code, if executed, further causes a computerto perform one or more of an announcement including informationcorresponding to the plurality of distinct conferences, a modificationin response to a modification key code, and a link between the switchkey code and a physical hotkey of a conference device.
 4. The computerprogram product of claim 1, wherein the computer usable code, ifexecuted, further causes a computer to prompt for one or more of theinitiation key code, the authentication data, the buffer key code, themapping key code, and the termination key code.
 5. A computer programproduct comprising: a non-transitory computer readable storage medium;and computer usable code stored on the non-transitory computer readablestorage medium, where, if executed by a processor, the computer usablecode causes a computer to: perform a collection of authentication datafor a plurality of distinct conferences to chain the conferences;identify one or more of a buffer key code and a mapping key codeinterspersed with the authentication data; and perform a switch amongthe distinct conferences in response to a switch key code, wherein theswitch key code is to include one or more of a general key codeapplicable to each of the conferences and a specific key code applicableto a specific conference.
 6. The computer program product of claim 5,wherein the computer usable code, if executed, further causes a computerto start to perform the collection in response to an initiation keycode, and to end the collection in response to a termination key code.7. The computer program product of claim 6, wherein the initiation keycode is to include a key sequence defining one or more of a transferoperation and a toggle operation.
 8. The computer program product ofclaim 5, wherein the buffer key code is to include a general keysequence to demarcate the authentication data.
 9. The computer programproduct of claim 5, wherein the authentication data is to include anaccess code for each of the conferences, and wherein the computer usablecode, if executed, further causes a computer to queue each access codeand to utilize one of the queued access codes in response to the generalkey code to provide access to one of the conferences.
 10. The computerprogram product of claim 5, wherein the mapping key code is to include akey sequence unique for the authentication data, and wherein thecomputer usable code, if executed, further causes a computer to map thekey sequence unique for the authentication data with the specific keycode.
 11. The computer program product of claim 10, wherein theauthentication data is to include an access code for each of theconferences, and wherein the computer usable code, if executed, furthercauses a computer to perform the switch in response to the specific keycode to provide access to the specific conference.
 12. The computerprogram product of claim 5, wherein the computer usable code, ifexecuted, further causes a computer to perform an announcement includinginformation corresponding to the plurality of distinct conferences,wherein the information is to include one or more of a conference titleand a conference subject.
 13. The computer program product of claim 5,wherein the computer usable code, if executed, further causes a computerto perform a modification in response to a modification key code,wherein the modification is to include one or more of an addition of aconference, a deletion of a conference, and a reordering of aconference.
 14. The computer program product of claim 5, wherein thecomputer usable code, if executed, further causes a computer to performa link between the switch key code and a physical hotkey of a conferencedevice.
 15. A method comprising: starting to perform a collection ofauthentication data for a plurality of distinct conferences to chain theconferences in response to an initiation key code, wherein theauthentication data includes an access code; performing anidentification of one or more of a buffer key code and a mapping keycode interspersed with the authentication data, wherein the buffer keycode includes a general key sequence demarcating the authenticationdata, and wherein the mapping key code includes a key sequence uniquefor the authentication data; ending the collection in response to atermination key code; and performing a switch among the distinctconferences in response to a switch key code, wherein the switch keycode includes one or more of a general key code applicable to each ofthe conferences and a specific key code applicable to a specificconference, wherein a processor is to implement one or more of startingto perform the collection, performing the identification, ending thecollection, and performing the switch.
 16. The method of claim 15,further including one or more of: queuing each access code; utilizingone of the queued access codes in response to the general key code toprovide access to one of the conferences; and mapping the key sequenceunique for the authentication data with the specific key code to provideaccess to the specific conference.
 17. The method of claim 15, furtherincluding one or more of: performing an announcement includinginformation corresponding to the plurality of distinct conferences;performing a modification in response to a modification key code; andperforming a link between the switch key code and a physical hotkey of aconference device.
 18. The method of claim 15, further including one ormore of: prompting for the initiation key code; prompting for theauthentication data; prompting for the buffer key code; prompting forthe mapping key code; and prompting for the termination key code.